Initialization of digital logic systems at power-up or at certain occurrences during operation is a critical phase. Automotive applications as well as many other micro-controller based supervising and diagnostic systems must ensure the highest level of safety, including diagnostic capabilities even under harsh environmental conditions. To ensure that the system is able to recover from a malfunction and perform appropriate corrective actions under any circumstances, it becomes important that the system be able to correctly exit from a system reset phase.
Apart from ensuring the correct generation of the reset signal, it is fundamentally important to timely provide the necessary clock signal to all the functional circuits of the system. Because of these requirements in practically any safety type system, many approaches have been developed. Most of these approaches are based on the availability of multiple clock inputs to the system. The system can switch from a failing clock source to a correctly working one, either under microprocessor control or by appropriate hardware functioning independently and/or cooperatively with the application software running on the system.
One known approach is described in U.S. Pat. No. 5,510,741 Childs, in which a reset and clock circuit provides a valid power-up reset signal prior to distribution of a clock signal for placing the system in a known state. Another reset and clock circuit maintains distribution of the clock signal for a predetermined time interval following a drop of the power supply voltage.
Notwithstanding the efforts so far expended there is still a need for a relatively straightforward and cost effective implementation capable of preventing corruption or loss of data that may occur because of glitches or other imperfections of the externally generated main clock signal being distributed to the functional circuits of the system. This is during the critical exiting from a system reset phase, and the resumption of normal operation of the system, whether it follows a power-up or an execution of a recovery routine from a malfunction.